The Global Positioning System (GPS) is based on an earth-orbiting constellation of twenty-four satellites, each broadcasting its precise location and ranging information. From any location on or near the earth, a GPS receiver with an unobstructed view of the sky should be able to track at least four satellites thereby being able to calculate the receiver's precise latitude, longitude, and elevation. Each satellite constantly transmits two frequencies, generally referred to as L1 and L2. The L1 signal from a satellite contains a unique pseudo-random noise code ranging signal with a chipping frequency of 1.023 MHz, a Navigation Message with a bit rate frequency of 50 Hz, and an encrypted precise-code (y-code) with a chipping frequency of 10.23 MHz, all being modulated onto a carrier frequency of 1575.42 MHz. The L2 signal consists of the Navigation Message and y-code being modulated onto a carrier frequency of 1227.60 MHz.
In order to calculate a three-dimensional location, a receiver must determine the distance, or pseudorange, from itself to each of at least four satellites. However, in a typical GPS receiver, a pseudorange cannot be used until the signal is found by correlating a locally generated Pseudo-Random Noise (PRN) code with the signal received from the satellite, the correct navigation bit edge is identified (bit synchronization), and the navigation data frame is identified (frame synchronization). Depending on many factors, bit synchronization may take up to one second, and frame synchronization may take at least six seconds. Further, bit and frame synchronization may not be possible when received signals are weak. Thus, to determine an initial position after start-up, the receiver may take more than six seconds to compute its position, and may not be capable of computing its position when received signals are weak.
For many reasons and in many applications, it is desirable to compute the location of the receiver as soon as possible after start-up. Thus, there remains a need for a GPS receiver capable of computing its position before bit and frame synchronization.